Mobile Application Modeling
La promo 2016/2017
La promo 2017/2018
Disclaimer
Désolé…
- … pour l'anglais (really?)
- … de ne pas être un spécialiste d’Android
- … que vous soyez seulement la 4ème promo à subir ce cours
- … que ce cours arrive avant que vous sachiez développer en Android/Mobile (majorité)
- … que vous ayez à bosser sans ordi pour ce cours! (juste 1h30!)
- Brainstorming & organization
- Internet search & site web building
- UML & Modeling for Mobile Applications
- Case study
Module de 21h (14 créneaux de 1,5h):
- 4 créneaux semaine 41
- [1] Intro & Brainstorming (08/10)
- [2] Travail de groupe (09/10)
- [3] Première maquette du site Web (09/10)
- [4] UML rappel et concepts importants (09/10)
- 5 créneaux 2ème période
- [5] Reverse ingéniérie d’une application Android (27/11)
- [6] Gestion de projet spécifique, UML (27/11)
- [7-9] Mise en oeuvre sur une étude de cas (28/11)
- 2 créneaux 2ème période
- [10-11] Modélisation : projet perso (binôme) (3-4/12)
- 3 créneaux 2ème période
- [12] Modélisation : projet perso (binôme) (12/12)
- [13] Présentation publique de votre appli perso (binôme) (12/12)
- [14] QCM exam final (12/12)
Let’s start Brainstorming
Résultats du brainstorming 2019/2020 TBD… :
Répartition des technos connues (depuis 2015) :
Par petits groupes :
- [1] Préparation du site web
- [2] Liste des concepts UML connus et utiles
- [3] Outils et langages de description d’écrans
- [4] Plateformes de développement Android
- [5] Différences iOS /Android
- […] Résultats du brainstorm
| Les numéros ne représentent pas un ordre d’importance! |
Plans B …
- Spécificités des applications mobiles
- Modélisation des interfaces
- Modélisation de l’architecture
- Modélisation du comportement
- Agilité et applications mobiles
[1] Site web des fiches
| Je fait parti de ce groupe! |
[2] Concepts UML connus
- 1. Recensement des concepts connus
- diagrammes
- concepts dans ces diagrammes
- méthodes (RUP, OpenUP, Agile)
- ⇒ Google Sheet ?
- 2. Pour le Mobile Modeling
[3] Outils et langages de description d’écrans
- Type SNI (Schéma de Navigation des Interfaces)
- Dessin / Générationd de code
- Focus sur les Open Sources of course
- …
[4] Plateformes de développement Android
- Avis objectifs (chiffrés)
- Aspects historiques
- Focus sur les Open Sources of course
- …
[5] Différences /
- Niveau modélisation
- Concepts
- Cycle de développement
- …
Consignes
Pour chaque groupe (sauf [1]) :
- Exprimer le problème
- Rechercher les solutions existantes
- Brainstormer sur la meilleure solution
- La formaliser un minimum
- Remplir un poster sous la forme d’une fiche (cf. point suivant)
- Merger sa branche
Fiche
- Titre
- Motivations & problems (shortly)
- Current approaches
- Proposed approach
- Example
Exemple complet de démarche "ad hoc" autour d’UML
Exemple complet de démarche "ad hoc" autour d’UML
Nous allons aborder une étude de cas tirée du livre de Pascal Roques.
Le cahier des charges
Il s’agit de développer un service de vente en ligne (http://jeBouquine.com).
| Depuis l’écriture du livre un vrai site de vente utilise cette URL! |
Des besoins au code
Raffinement des besoins
Près du code
Comment trouver les classes ?
Comment trouver les interactions ?
Liens entre diagrammes
Démarche complète
UML Use Case Diagram
SysML Requirements Diagram
UML Class Diagram
SNI: Schéma de Navigation d’Interface
Lien UC / SNI
UML State Machines
UML Sequence Diagram
UML Component Diagram
SysML Block Definition Diagram
SysML Internal Block Definition Diagram
UML deployment diagram
One example
- 1) Identify the app users
- 2) Identify the main functionalities
- 3) Analyzing and expanding each functionality
Agile for Mobile Application Development
Example 1
Some restrictions with mobile application development are:
- Mobile has restrictions: size of the apps, …
- Application should be downloadable very fast
- Update applications quickly and smoothly
- Error free and fast
- Seamlessly interact with backend server as needed
Example 2
Challenges presented by developing mobile apps:
- Short life cycles
- Short development cycles
- Limited hardware
- Frequently changing user demands
- Must be easily updateable
- Must download quickly
Example 3
An “Agile with Discipline” approach for mobile app development
Example 4
Multi-target User Interface design & Generation using MDE
Reverse Engineering tools
Content
- Specifications
- Questions
- Tools
- Expected outputs
Etude de cas : MIU (Management of Irit-Ut2j)
Cahier des charges

Le Laboratoire IRIT est un des plus gros laboratoire informatique de France.
C’est une unité mixte de recherche, ce qui signifie qu’en plus du CNRS,
elle a d’autres tutelles (les 3 universités toulousaine, l’INPT, etc.).
Chaque tutelle est dotée d’un représentant local du laboratoire qui fait
le lien entre le laboratoire et la tutelle.
Pour l’UT2J, ce représentant, c’est moi (Jean-Michel Bruel).
Les membres UT2J du Laboratoire IRIT sont organisés en équipes.
Ils se partagent un buget alloué chaque année par l’université
(environ 38K€ pour 2017).
Parmi les responsabilité du responsable IRIT-UT2J, on trouve de nombreuses
tâches administratives (au point de devoir maintenir une F.A.Q - cf. https://bit.ly/irit-ut2j).
Celles qui sont le plus consomatrices d’énergie sont les tâches en relation avec les dépenses.
Je vous sollicite donc pour la modélisation d’une application mobile qui sera
potentiellement développée dans le future, et qui permettra de faciliter cette gestion.
Pour simplifier les description suivantes, nous appelerons cette application
MIU (Management of IRIT-UT2J).
Voici quelques caractéristiques et besoins clients (en vrac) :
- MIU devra fonctionner sur des mobiles et tablettes Android .
- On pourra différencier les rôles des personnes utilisant l’application (chercheurs, doctorants, responsable, gestionnaire).
- On imaginera qu’il existe un accès (Web, fichier
.json, Google Doc) aux informations concernant les membres. - Chaque utilisateur poura saisir une dépense (de type achats ou mission).
Une dépense peut être prévisionnelle (devis pour un restaurant par exemple, ou déplacement à l’étranger),
précise (achat de matériel sur devis) ou confirmée (remboursement de mission a posteriori par exemple).
- Un utilisateur ne pourra pas engager de dépense si celle-ci dépasse le budget de son équipe.
=== !
- La gestionnaire ou le responsable peuvent mettre à jour les montants de dépenses.
- Concernant les frais, chacun aura sur sa "page personnelle" les informations
concernant le solde global du compte de son équipe.
- On pourra envisager toute option utile pour le futur (comme le calcul d’avance sur mission).
- La gestionnaire et le responsable seront systématiquement informé de toute déclaration d’intention de dépense.
Quelques commentaires :
- Chaque membre est toujours rattaché à une équipe (et une seule)
- Chaque équipe dispose d’un budget propre (division au prorata de ses membres du budget global).
- Un certain nombre de dépenses sont "communes" et viennent imputer le budget global (seuls la
gestionnaire et le responsable peuvent saisir ces dépenses)
- Les dépenses sont consultables (lecture seule) par tous les membres UT2 du Laboratoire IRIT.
Résultats attendus
- Rapport au format
.pdf - Démo au format de votre choix (PPT/PDF, Vidéo)
.zip avec figures, modèles .uml, code, etc.
Evaluation
Rappelons les conseils habituels :
- clarté des diagrammes et des choix (explicites) de conception ou d’interprétation réalisés
- cohérence entre les diagrammes
Evaluation (suite)
L’évaluation portera principalement sur les critères suivants :
Table 1. Critères| Critère | Type de critère | Poids approximatif |
|---|
Diagramme des UC | Correction, pertinence | 10% |
Diagramme des Classes Domaine | Correction, pertinence | 10% |
Maquettes utilisateur / Écrans | Correction, pertinence | 20% |
Diagrammes d’enchainement d’écran | Correction, pertinence | 20% |
Cohérence inter-modèles (SNI/DSS, UC/DSS/DS/DCP) | Correction, pertinence | 15% |
Communication/Présentations/Ignite | subjectif :-) | 15% |
Clarté – Présentation du Dossier | subjectif :-) | 10% |
Evaluation (suite)
| Vous pouvez insérer une section "auto-évaluation" dans votre rapport, qui reprend cette grille et
vous permet de vous auto-évaluer. |
About…
This web site has been developped by JMB using the following (open and free) tools: